#include "Bullet3Dynamics/ConstraintSolver/b3ContactSolverInfo.h"
#ifdef __cplusplus
extern "C" {
#endif
b3ContactSolverInfoFloatData* bullet_Newb3ContactSolverInfoFloatData(){
	b3ContactSolverInfoFloatData* wrap_out = new b3ContactSolverInfoFloatData();
	return wrap_out;
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_damping(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_damping);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_erp(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_erp);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_erp2(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_erp2);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_friction(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_friction);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_globalCfm(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_globalCfm);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_linearSlop(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_linearSlop);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_maxErrorReduction(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_maxErrorReduction);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_maxGyroscopicForce(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_maxGyroscopicForce);
}

int bullet_b3ContactSolverInfoFloatData_GetFieldOfM_minimumSolverBatchSize(b3ContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_b3ContactSolverInfoFloatData_GetFieldOfM_numIterations(b3ContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_numIterations);
}

char** bullet_b3ContactSolverInfoFloatData_GetFieldOfM_padding(b3ContactSolverInfoFloatData* c_this){
	return (char**)(&c_this->m_padding);
}

int bullet_b3ContactSolverInfoFloatData_GetFieldOfM_restingContactRestitutionThreshold(b3ContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_restitution(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_restitution);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_singleAxisRollingFrictionThreshold(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_b3ContactSolverInfoFloatData_GetFieldOfM_solverMode(b3ContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_solverMode);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_sor(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_sor);
}

int bullet_b3ContactSolverInfoFloatData_GetFieldOfM_splitImpulse(b3ContactSolverInfoFloatData* c_this){
	return (int)(c_this->m_splitImpulse);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_splitImpulsePenetrationThreshold(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_splitImpulsePenetrationThreshold);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_splitImpulseTurnErp(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_splitImpulseTurnErp);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_tau(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_tau);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_timeStep(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_timeStep);
}

float bullet_b3ContactSolverInfoFloatData_GetFieldOfM_warmstartingFactor(b3ContactSolverInfoFloatData* c_this){
	return (float)(c_this->m_warmstartingFactor);
}

b3ContactSolverInfoDoubleData* bullet_Newb3ContactSolverInfoDoubleData(){
	b3ContactSolverInfoDoubleData* wrap_out = new b3ContactSolverInfoDoubleData();
	return wrap_out;
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_damping(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_damping);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_erp(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_erp);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_erp2(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_erp2);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_friction(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_friction);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_globalCfm(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_globalCfm);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_linearSlop(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_linearSlop);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_maxErrorReduction(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_maxErrorReduction);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_maxGyroscopicForce(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_maxGyroscopicForce);
}

int bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_minimumSolverBatchSize(b3ContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_numIterations(b3ContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_numIterations);
}

char** bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_padding(b3ContactSolverInfoDoubleData* c_this){
	return (char**)(&c_this->m_padding);
}

int bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_restingContactRestitutionThreshold(b3ContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_restitution(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_restitution);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_singleAxisRollingFrictionThreshold(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_solverMode(b3ContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_solverMode);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_sor(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_sor);
}

int bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_splitImpulse(b3ContactSolverInfoDoubleData* c_this){
	return (int)(c_this->m_splitImpulse);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_splitImpulsePenetrationThreshold(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_splitImpulsePenetrationThreshold);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_splitImpulseTurnErp(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_splitImpulseTurnErp);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_tau(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_tau);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_timeStep(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_timeStep);
}

double bullet_b3ContactSolverInfoDoubleData_GetFieldOfM_warmstartingFactor(b3ContactSolverInfoDoubleData* c_this){
	return (double)(c_this->m_warmstartingFactor);
}

b3ContactSolverInfoData* bullet_Newb3ContactSolverInfoData(){
	b3ContactSolverInfoData* wrap_out = new b3ContactSolverInfoData();
	return wrap_out;
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_damping(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_damping);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_erp(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_erp);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_erp2(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_erp2);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_friction(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_friction);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_globalCfm(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_globalCfm);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_linearSlop(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_linearSlop);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_maxErrorReduction(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_maxErrorReduction);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_maxGyroscopicForce(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_maxGyroscopicForce);
}

int bullet_b3ContactSolverInfoData_GetFieldOfM_minimumSolverBatchSize(b3ContactSolverInfoData* c_this){
	return (int)(c_this->m_minimumSolverBatchSize);
}

int bullet_b3ContactSolverInfoData_GetFieldOfM_numIterations(b3ContactSolverInfoData* c_this){
	return (int)(c_this->m_numIterations);
}

int bullet_b3ContactSolverInfoData_GetFieldOfM_restingContactRestitutionThreshold(b3ContactSolverInfoData* c_this){
	return (int)(c_this->m_restingContactRestitutionThreshold);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_restitution(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_restitution);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_singleAxisRollingFrictionThreshold(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_singleAxisRollingFrictionThreshold);
}

int bullet_b3ContactSolverInfoData_GetFieldOfM_solverMode(b3ContactSolverInfoData* c_this){
	return (int)(c_this->m_solverMode);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_sor(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_sor);
}

int bullet_b3ContactSolverInfoData_GetFieldOfM_splitImpulse(b3ContactSolverInfoData* c_this){
	return (int)(c_this->m_splitImpulse);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_splitImpulsePenetrationThreshold(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_splitImpulsePenetrationThreshold);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_splitImpulseTurnErp(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_splitImpulseTurnErp);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_tau(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_tau);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_timeStep(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_timeStep);
}

float bullet_b3ContactSolverInfoData_GetFieldOfM_warmstartingFactor(b3ContactSolverInfoData* c_this){
	return (float)(c_this->m_warmstartingFactor);
}

b3ContactSolverInfo* bullet_Newb3ContactSolverInfo(){
	b3ContactSolverInfo* wrap_out = new b3ContactSolverInfo();
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
